Many businesses, governmental organizations, educational institutions and other entities depend on the proper and efficient functioning of distributed database systems. A typical distributed database system setup includes clients that interact with application servers that, in turn, interact with database servers over an internal network. In the e-commerce setting, for example, the clients are typically end user clients (i.e., end user computers) that access e-commerce servers via the World Wide Web. The e-commerce servers translate inputs provided by the end user clients into database queries and forward the database queries to the database servers that process the queries. The e-commerce servers (or other application servers) in this situation act as database clients with respect to the database servers.
Application servers are typically connected to database servers by 100BaseT Ethernet or Gigabit Ethernet and communicate using network protocols such as Transmission Control Protocol/Internet Protocol (“TCP/IP”). Further, the application servers and database servers may use specific application layer protocols to store, retrieve, modify or delete data. For example, many database systems use the Structured Query Language (“SQL”) to formulate commands to the database server.
In typical database systems, performance bottlenecks occur from inadequate or slow database response times. To ensure efficiency and identify performance problems, many entities are turning to distributed computer system monitoring applications (database monitoring applications) that monitor various database system statistics. Database monitoring applications usually require installation of software agents at application servers (i.e., database clients) and database servers to monitor the communications between the application servers and database servers, record response times and collect other statistics. This is disadvantageous because it can require the installation and updating of many agents at distributed, potentially geographically remote, application and database servers. Therefore, a need exists for a system for collecting and reporting information from database transactions that can be centrally managed without requiring the overhead associated with installing agents at the application and database servers.